package com.macrounion.atv.service.service;

import java.util.List;

import com.macrounion.atv.service.dto.req.DeviceReqDto;
import com.macrounion.atv.service.dto.req.DeviceStatusReqDto;
import com.macrounion.atv.service.dto.resp.DeviceListRespDto;
import com.macrounion.atv.service.entity.Device;
import com.macrounion.atv.service.entity.ext.DeviceExt;
import com.macrounion.atv.service.entity.ext.DeviceStatusExt;
import com.macrounion.base.service.service.BaseService;

public interface DeviceService extends BaseService<Device> {
	
	List<DeviceExt> getByProtocol(String protocol);

    List<Device> getDeviceBySpotId(String spotId);

    List<DeviceListRespDto> getDeviceList(DeviceReqDto deviceReqDto);

    int findCount(Device device);

    List<DeviceStatusExt> getDeviceStatus(DeviceStatusReqDto deviceStatusReqDto);





    List<Device> getAllDevice(Device device);

    DeviceExt getDevice(String deviceCode);

    DeviceExt getDeviceById(String deviceId);
    
    /**
     * 获取设备IP
     * @param deviceCode
     * @return
     */
    String getDeviceIp(Device device);

    List<Device> getDevicesToVisual(Device device);
}

